package org.jeecg.modules.task.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.system.base.entity.JeecgEntity;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.List;

/**
 * @Description: 任务基础信息
 * @Author: wufanxin
 * @Date:  2021-06-15
 * @Version: V1.0
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("tas_task_info")
public class TaskInfoBase extends JeecgEntity {


	/**
	 * 备注
	 */
	private String remark;

	/**
	 * 删除标识 0 正常，1删除
	 */
	private String delFlag;

	/**
	 * 部门code
	 */
	private String departCode;

	/**
	 * 部门id
	 */
	private String departId;

	/**
	 * 部门名称
	 */
	private String departName;

	/**
	 * 任务编号
	 */
	private String taskNo;

	/**
	 * 任务类型 任务类型 0、文章 1、活动
	 */
	private String taskType;

	/**
	 * 内容类型 1、文章2、视频 3、音频  4、H5
	 */
	private String contentType;

	/**
	 * 模版id
	 */
	private String themeId;

	/**
	 * 模版名称
	 */
	private String themeName;

	/**
	 * 任务名称
	 */
	private String taskName;

	/**
	 * 结束时间
	 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private java.util.Date endTime;

	/**
	 * 内部选题的id
	 */
	private String topicIds;

	/**
	 * 内部选题的名称
	 */
	private String topicNames;

	/**
	 * 选择的工作流
	 */
	private String workflowId;

	/**
	 * 重要程度 0 一般，1 重要 2紧急
	 */
	private String urgencyLevel;


	/**
	 * 线索id列表
	 */
	@TableField(exist = false)
	private List<String> clueIdList;

	/**
	 * 附件列表
	 */
	@TableField(exist = false)
	private List<TaskAttach> attachList;

	/**
	 * 外链列表
	 */
	@TableField(exist = false)
	private List<TaskOutLink> outLinkList;

	/**
	 * 状态 0 进行中，1已完成
	 */
	private String state;

	/**
	 * 完成时间
	 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private java.util.Date finishTime;

	@TableField(exist = false)
	private String contentBankId;
}
